package com.deyuanyun.pic.insp.mapper;

import com.deyuanyun.pic.insp.util.InspTaskVO;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 内检测公共模块
 *
 * @author scalpel.王敏
 * @version [v1.0] 创建时间（2016/10/21）
 * @see // 引用的类
 * Method List:
 * 1.----------------
 * 2.----------------
 * History:
 */
public interface InspCommMapper {

    /**
     * 根据管道ID 查询绝对距离，这个查询是通过内检测数据得到的最大绝对距离为终点
     * @param lineId
     * @return
     */
    Double queryMileage(@Param("lineId") String lineId);


    /**
     * 根据管道 收发球点查询检测任务
     * @param lineId
     * @param sendPig
     * @param backPig
     * @return
     */
    public List<HashMap<String,Object>> findTask(@Param("lineId") String lineId,@Param("sendPig")String sendPig,@Param("backPig")String backPig);

    /**
     * 根据管道查询检测任务
     * @param lineId
     * @return
     */
    public List<HashMap<String,Object>> taskByLineId(@Param("lineId") String lineId);

    /**
     * 根据管道和绝对距离查询检测任务
     * @param lineId
     * @param beginMileage
     * @param endMileage
     * @return
     */
    public List<HashMap<String, Object>> taskByLineIdOrMileage(@Param("lineId")String lineId, @Param("beginMileage")BigDecimal beginMileage, @Param("endMileage")BigDecimal endMileage);

    public List<String> queryTaskAllByLineId(@Param("lineId")String lineId);


    public Map<String,Object> queryLineMileage(Map<String, Object> param);


    public List<Map<String,Object>>  getNewTask(Map<String, Object> param);


    public Map<String,Object>  queryTaskMileage(@Param("taskId")String taskId);

    List<InspTaskVO> queryNewTaskMileage(Map<String, Object> param);
}
